package sort

// > 递归， 分治
// TODO abc
// 单路快速排序
func quick(data []int, l, r int) {
	if l >= r {
		return
	}

	p := partition(data, l, r)
	quick(data, l, p-1)
	quick(data, p+1, r)
}

// [l + 1, j] <= v, [j + 1, i - 1] > v
func partition(data []int, l, r int) int {
	return -1
}

// 双路快速排序
func quick2Ways(data []int, l, r int) {

}

func partition2Ways(data []int, l, t int) int {
	return -1
}

// 三路快速排序
func quick3Ways(data []int, l, r int) {

}

func partition3Ways(data []int, l, r int) (lt, gt int) {
	lt, gt = 0, -1
	return
}
